ming's blog
Gradle不支持MyBatis Generator怎么办

第一次用Gradle做Mybatis的项目,一上手就发现了一个问题 —— 哎?MyBatis Generator的插件怎么下不下来

然后就上官网查了一下,官网是这么说的:

MyBatis Generator (MBG) can be run in the following ways:

  • From the command prompt with an XML configuration
  • As an Ant task with an XML configuration
  • As a Maven Plugin
  • From another Java program with an XML configuration
  • From another Java program with a Java based configuration
  • As an Eclipse Feature

这么看来MyBatis Generator是不支持Gradle的,而官网提供的解决方案除了第一条,我觉得都很麻烦,那么就用第一种方案解决问题吧!

根据官网上的描述,我们总共需要准备三样东西:

  • mybatis-generator-core.jar
  • mysql-connector-java.jar
  • generatorConfig.xml

有关generatorConfig.xml的描述,我放在了后面。

准备工作做完后,将这三个文件放在同一文件夹下,执行 java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml,就OK了,类似下图。
图片

我这里给generatorConfig.xml起名叫test.xml,生成在test文件夹里了,起名字随意。
图片

图片

为了防止我说的不够详细,有遗漏的地方,官网描述也放这里

最后,看一下generatorConfig.xml,这里为了让看博客的人看到这里能有个参考,我就直接把我自己写的test.xml贴出来了。想看更多的描述,稍后我会写一篇更详细的,不然东西都堆在这很乱。

使用时请根据实际情况修改!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <classPathEntry  location="mysql-connector-java-5.1.46.jar"/>  
    <context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
        <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
        <property name="beginningDelimiter" value="`" />
        <property name="endingDelimiter" value="`" />

        <commentGenerator>
            <property name="suppressDate" value="true" />
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test2?useSSL=false"
                        userId="root"
                        password="root">
        </jdbcConnection>

        <javaModelGenerator targetPackage="test.model" targetProject="C:\Users\MYPC\Desktop\123">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="test.xml" targetProject="C:\Users\MYPC\Desktop\123">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" 
                             targetPackage="test.dao" 
                             targetProject="C:\Users\MYPC\Desktop\123" />

        <table tableName="person" >
            <property name="id" value="false"/>
            <property name="name" value="false"/>
            <property name="sex" value="false"/>
            <property name="age" value="false"/>
            <property name="birthday" value="false"/>
            <property name="address" value="false"/>
        </table>
    </context>
</generatorConfiguration>